package com.example.librarysysee.mapper;

import com.example.librarysysee.model.BookInfo;
import com.example.librarysysee.model.PageRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.awt.print.Book;
import java.util.List;

@Mapper
public interface BookInfoMapper {
    @Update("insert into book_info (book_name, author, count, price, publish)" +
            " values (#{bookName}, #{author}, #{count}, #{price}, #{publish})")
    Integer insertBook(BookInfo bookInfo);

    @Select("select count(1) from book_info where `status` <> 0")
    Integer count();

    @Select("select * from book_info where `status` <> 0 order by id desc limit #{offset}, #{pageSize}")
    List<BookInfo> queryListByPage(PageRequest pageRequest);

    @Select("select * from book_info where `status` <> 0 and id = #{id}")
    BookInfo queryBookById(Integer id);

    Integer updateBook(BookInfo bookInfo);
    Integer batchDeleteBook(List<Integer> ids);
}
